Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.5K
Vistas
React Native - Biblioteca de medios de la Expo [No se pudo crear el recurso.]

Estoy generando un archivo pdf con la biblioteca expo-print , luego quiero guardarlo en la galería o descargarlo en la galería sin crear ningún álbum adicional en el dispositivo del usuario.

A continuación se muestra el código de mi aplicación Factura :

 import { shareAsync } from "expo-sharing"; import * as MediaLibrary from 'expo-media-library'; import * as Print from 'expo-print'; const printToPdf = async () => { let html = PdfCode(company, customer, products); // PDF code is working try { const { uri } = await Print.printToFileAsync({ html }) //Taking device permission const perms = await MediaLibrary.requestPermissionsAsync(); if (perms.granted) { await MediaLibrary.saveToLibraryAsync(uri); // <- ERROR here, code stops here and break console.log("Saved to media library"); // <- Not printed in console. } await shareAsync(uri, { UTI: '.pdf', mimeType: 'application/pdf' }); } catch (error) { console.log(error); } }

He marcado un comentario donde obtengo el problema en el código. MediaLibrary.createAssestSync() pero recibo el mismo error, el registro completo de errores se menciona a continuación: Error:

 Could not create asset. at node_modules\react-native\Libraries\BatchedBridge\NativeModules.js:104:50 in promiseMethodWrapper at node_modules\expo-modules-core\build\NativeModulesProxy.native.js:27:27 in moduleName.methodInfo.name at node_modules\expo-media-library\build\MediaLibrary.js:168:17 in saveToLibraryAsync at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:86:13 in tryCatch at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:66:31 in <anonymous> at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:86:13 in tryCatch at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:124:27 in invoke at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:148:16 in PromiseImpl$argument_0 at node_modules\react-native\node_modules\promise\setimmediate\core.js:45:6 in tryCallTwo at node_modules\react-native\node_modules\promise\setimmediate\core.js:200:22 in doResolve at node_modules\react-native\node_modules\promise\setimmediate\core.js:66:11 in Promise at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:147:15 in callInvokeWithMethodAndArg at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:152:154 in _invoke at node_modules\@babel\runtime\helpers\regeneratorRuntime.js:238:57 in exports.async at node_modules\expo-media-library\build\MediaLibrary.js:164:7 in saveToLibraryAsync
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda